package com.ly.heart.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 金蝶-收料通知单物料明细其他信息对象 erp_king_receive_notice_material_detail_info
 *
 * @author cxl
 * @date 2024-08-09
 */
@TableName ("erp_king_receive_notice_material_detail_info")
@ApiModel (value = "金蝶-收料通知单物料明细其他信息", description = "金蝶-收料通知单物料明细其他信息")
@Data
public class KingReceiveNoticeMaterialDetailEntity{

    /** 主键id */
    @TableId (type = IdType.INPUT)
    private String id;

    /** 收料通知单主表id */
    @ApiModelProperty ("收料通知单主表id")
    @TableField ("receive_notice_id")
    @Excel (name = "收料通知单主表id")
    private String receiveNoticeId;

    /** 收料通知单物料表id */
    @ApiModelProperty ("收料通知单物料表id")
    @TableField ("receive_notice_material_id")
    @Excel (name = "收料通知单物料表id")
    private String receiveNoticeMaterialId;

    /** 物料id */
    @ApiModelProperty ("物料id")
    @TableField ("material_id")
    @Excel (name = "物料id")
    private String materialId;

    /** 物料编码 */
    @ApiModelProperty ("物料编码")
    @TableField ("material_code")
    @Excel (name = "物料编码")
    private String materialCode;

    /** 物料名称 */
    @ApiModelProperty ("物料名称")
    @TableField ("material_name")
    @Excel (name = "物料名称")
    private String materialName;

    /** BOM版本 */
    @ApiModelProperty ("BOM版本")
    @TableField ("bom_ver")
    @Excel (name = "BOM版本")
    private String bomVer;

    /** 紧急放行 */
    @ApiModelProperty ("紧急放行")
    @TableField ("is_urgent")
    @Excel (name = "紧急放行")
    private String isUrgent;

    /** 检验关联数量 */
    @ApiModelProperty ("检验关联数量")
    @TableField ("check_relation_num")
    @Excel (name = "检验关联数量")
    private String checkRelationNum;

    /** 检验数量 */
    @ApiModelProperty ("检验数量")
    @TableField ("check_num")
    @Excel (name = "检验数量")
    private String checkNum;

    /** 样本破坏数量 */
    @ApiModelProperty ("样本破坏数量")
    @TableField ("sample_destruction_num")
    @Excel (name = "样本破坏数量")
    private String sampleDestructionNum;

    /** 合格数量 */
    @ApiModelProperty ("合格数量")
    @TableField ("qualified_num")
    @Excel (name = "合格数量")
    private String qualifiedNum;

    /** 判退数量 */
    @ApiModelProperty ("判退数量")
    @TableField ("reject_num")
    @Excel (name = "判退数量")
    private String rejectNum;

    /** 让步接收数量 */
    @ApiModelProperty ("让步接收数量")
    @TableField ("concession_acceptance_num")
    @Excel (name = "让步接收数量")
    private String concessionAcceptanceNum;

    /** 工废数量 */
    @ApiModelProperty ("工废数量")
    @TableField ("industrial_waste_num")
    @Excel (name = "工废数量")
    private String industrialWasteNum;

    /** 料废数量 */
    @ApiModelProperty ("料废数量")
    @TableField ("material_waste_num")
    @Excel (name = "料废数量")
    private String materialWasteNum;

    /** 来料检验 */
    @ApiModelProperty ("来料检验")
    @TableField ("is_incoming_inspection")
    @Excel (name = "来料检验")
    private Boolean isIncomingInspection;

    /** 确认交货数量 */
    @ApiModelProperty ("确认交货数量")
    @TableField ("confirm_delivery_num")
    @Excel (name = "确认交货数量")
    private String confirmDeliveryNum;

    /** 确认到货日期 */
    @ApiModelProperty ("确认到货日期")
    @TableField ("confirm_arrival_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "确认到货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmArrivalTime;

    /** 确认意见 */
    @ApiModelProperty ("确认意见")
    @TableField ("confirm_advice")
    @Excel (name = "确认意见")
    private String confirmAdvice;

    /** 批号 */
    @ApiModelProperty ("批号")
    @TableField ("batch_num")
    @Excel (name = "批号")
    private String batchNum;

    /** 供应商批号 */
    @ApiModelProperty ("供应商批号")
    @TableField ("supplier_batch_num")
    @Excel (name = "供应商批号")
    private String supplierBatchNum;

    /** 生产日期 */
    @ApiModelProperty ("生产日期")
    @TableField ("manufacture_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date manufactureTime;

    /** 保质期 */
    @ApiModelProperty ("保质期")
    @TableField ("warranty_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "保质期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warrantyTime;

    /** 保质期单位 */
    @ApiModelProperty ("保质期单位")
    @TableField ("warranty_unit")
    @Excel (name = "保质期单位")
    private String warrantyUnit;

    /** 有效期至 */
    @ApiModelProperty ("有效期至")
    @TableField ("valid_to")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "有效期至", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validTo;

    /** 在架寿命期 */
    @ApiModelProperty ("在架寿命期")
    @TableField ("shelf_life_cycle")
    @Excel (name = "在架寿命期")
    private String shelfLifeCycle;

    /** 辅单位 */
    @ApiModelProperty ("辅单位")
    @TableField ("auxiliary_unit")
    @Excel (name = "辅单位")
    private String auxiliaryUnit;

    /** 实收数量(辅单位) */
    @ApiModelProperty ("实收数量(辅单位)")
    @TableField ("received_num_auxiliary_unit")
    @Excel (name = "实收数量(辅单位)")
    private String receivedNumAuxiliaryUnit;

    /** 累计入库数量 */
    @ApiModelProperty ("累计入库数量")
    @TableField ("total_inventory_num")
    @Excel (name = "累计入库数量")
    private String totalInventoryNum;

    /** 累计退料数量 */
    @ApiModelProperty ("累计退料数量")
    @TableField ("total_refund_num")
    @Excel (name = "累计退料数量")
    private String totalRefundNum;

    /** 合格入库关联数量 */
    @ApiModelProperty ("合格入库关联数量")
    @TableField ("qualified_inventory_num")
    @Excel (name = "合格入库关联数量")
    private String qualifiedInventoryNum;

    /** 退料关联数量 */
    @ApiModelProperty ("退料关联数量")
    @TableField ("refund_relation_num")
    @Excel (name = "退料关联数量")
    private String refundRelationNum;

    /** 不合格关联数量 */
    @ApiModelProperty ("不合格关联数量")
    @TableField ("unqualified_relation_num")
    @Excel (name = "不合格关联数量")
    private String unqualifiedRelationNum;

    /** 让步接收关联数量 */
    @ApiModelProperty ("让步接收关联数量")
    @TableField ("concession_acceptance_relation_num")
    @Excel (name = "让步接收关联数量")
    private String concessionAcceptanceRelationNum;

    /** 工废关联数量 */
    @ApiModelProperty ("工废关联数量")
    @TableField ("industrial_waste_relation_num")
    @Excel (name = "工废关联数量")
    private String industrialWasteRelationNum;

    /** 料废关联数量 */
    @ApiModelProperty ("料废关联数量")
    @TableField ("material_waste_relation_num")
    @Excel (name = "料废关联数量")
    private String materialWasteRelationNum;

    /** 需求跟踪号 */
    @ApiModelProperty ("需求跟踪号")
    @TableField ("require_tracking_code")
    @Excel (name = "需求跟踪号")
    private String requireTrackingCode;

    /** 计划跟踪号 */
    @ApiModelProperty ("计划跟踪号")
    @TableField ("plan_tracking_code")
    @Excel (name = "计划跟踪号")
    private String planTrackingCode;

    /** 源单类型 */
    @ApiModelProperty ("源单类型")
    @TableField ("source_doc_type")
    @Excel (name = "源单类型")
    private String sourceDocType;

    /** 源单单号 */
    @ApiModelProperty ("源单单号")
    @TableField ("source_doc_code")
    @Excel (name = "源单单号")
    private String sourceDocCode;

    /** 订单单号 */
    @ApiModelProperty ("订单单号")
    @TableField ("order_code")
    @Excel (name = "订单单号")
    private String orderCode;

    /** 业务流程 */
    @ApiModelProperty ("业务流程")
    @TableField ("business_process")
    @Excel (name = "业务流程")
    private String businessProcess;

    /** 需求部门 */
    @ApiModelProperty ("需求部门")
    @TableField ("require_dept")
    @Excel (name = "需求部门")
    private String requireDept;

    /** 需求人 */
    @ApiModelProperty ("需求人")
    @TableField ("require_by")
    @Excel (name = "需求人")
    private String requireBy;

    /** 卡片关联数量 */
    @ApiModelProperty ("卡片关联数量")
    @TableField ("card_relation_num")
    @Excel (name = "卡片关联数量")
    private String cardRelationNum;

    /** 卡片数量 */
    @ApiModelProperty ("卡片数量")
    @TableField ("card_num")
    @Excel (name = "卡片数量")
    private String cardNum;

    /** 行状态 */
    @ApiModelProperty ("行状态")
    @TableField ("line_status")
    @Excel (name = "行状态")
    private String lineStatus;

    /** 执行人 */
    @ApiModelProperty ("执行人")
    @TableField ("execute_by")
    @Excel (name = "执行人")
    private String executeBy;

    /** 执行日期 */
    @ApiModelProperty ("执行日期")
    @TableField ("execute_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "执行日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date executeTime;

    /** 规格型号 */
    @ApiModelProperty ("规格型号")
    @TableField ("material_model")
    @Excel (name = "规格型号")
    private String materialModel;

    /** 序列号单位 */
    @ApiModelProperty ("序列号单位")
    @TableField ("serial_code_unit")
    @Excel (name = "序列号单位")
    private String serialCodeUnit;

    /** 序列号单位数量 */
    @ApiModelProperty ("序列号单位数量")
    @TableField ("serial_code_unit_num")
    @Excel (name = "序列号单位数量")
    private String serialCodeUnitNum;

    /** 序列号上传 */
    @ApiModelProperty ("序列号上传")
    @TableField ("serial_code_upload")
    @Excel (name = "序列号上传")
    private String serialCodeUpload;

    /** 录入人 */
    @ApiModelProperty ("录入人")
    @TableField ("user_id")
    @Excel (name = "录入人")
    private String userId;

    /** 更新时间 */
    @ApiModelProperty ("更新时间")
    @TableField ("change_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date changeTime;

    /** 逻辑删除 */
    @TableLogic
    @ApiModelProperty ("逻辑删除")
    @TableField ("is_used")
    @Excel (name = "逻辑删除")
    private Integer isUsed;

    /** 创建时间 */
    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;

    @ApiModelProperty ( "备注" )
    @TableField ( "remark" )
    @Excel ( name = "备注" )
    private String remark;

    @ApiModelProperty("物料明细序列号信息")
    @TableField(exist = false)
    private List<KingReceiveNoticeMaterialDetailSerialEntity> materialDetailSerials;


}
